Software that renders audio data typically has to mix multiple inputs of audio data, convert audio data to different formats, and apply many effects. Generally, the software uses a potpourri of specialized software components (“audio units”) that perform specific functions and tasks, such as mixing inputs, converting formats, and applying effects. The audio units are generally organized into an acyclic graph, with each node being an audio unit that performs a special function on a stream of data. The number of audio units can easily proliferate, as can the complexity of the graph The audio units perform many different types of functions and are interacted with in different ways. Thus, developing audio rendering software can be very complex and overwhelming.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.